GO
pedido

Npc Que Troca Item Por Item

Por GodalonexD, 04 de ago. de 2012 em Scripts

9
2.8k
GodalonexDG
04 de agosto de 2012 às 16:09

Gente eu tenho um ot 9.6 e preciso de um npc que troca certo item por outro item...

 

Pois preciso fazer o npc trocar medicine pouch pelo item para doma slug,

 

e preciso de um para pega a mount do stampor, de usar os itens que pede pra fazer dai ele remove os itens do player e da a mount, igual do global ou similar... qualquer um eu aceito

 

REP++

notle2012N
04 de agosto de 2012 às 16:39

data\npc\scripts\nomedoarquivo.lua

------------------- By Notle -------------------
local keywordHandler = KeywordHandler:new()				  
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local troca = 2000 -------------- id do item que vai ser trocado
local id = 2160   --- id do item que vai ganhar dps da troca
function onCreatureAppear(cid)		    npcHandler:onCreatureAppear(cid)	    end
function onCreatureDisappear(cid)	    npcHandler:onCreatureDisappear(cid)	    end
function onCreatureSay(cid, type, msg)	    npcHandler:onCreatureSay(cid, type, msg)    end
function onThink()			    npcHandler:onThink()			    end
function creatureSayCallback(cid, type, msg)
if msgcontains(msg, 'trocaitem') then
if doPlayerRemoveItem(cid,troca,1) then
doPlayerAddItem(cid,id,1)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "coloca um texto aqui")   -- edita aqui
else
doPlayerSendCancel(cid,"Você Não Tem Grana Só Lamento.")  -- edita aqui
end
end
return TRUE  
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
------------------- By Notle -------------------

data\npc\nomedoarquivo.xml

<npc name="NOMEDONPC" script="data/npc/scripts/nomedoarquivo.lua" walkinterval="2000" floorchange="0">
   <health now="100" max="100"/>
   <look type="134" head="78" body="88" legs="0" feet="88" addons="3"/>
    <parameters>
		    <parameter key="message_greet" value="Ola. Para mais informacoes de meus servicos diga {trocaitem}." />
		    <parameter key="message_farewell" value="Tchau." />
		    <parameter key="message_walkaway" value="Tchau." />
    </parameters>
</npc>

não esqueça de troca

local troca = 2000 -------------- id do item que vai ser trocado

local id = 2160 --- id do item que vai ganhar dps da troca

GodalonexDG
04 de agosto de 2012 às 16:55

mais ai seria so 1 item de cada ne?

num pode ser tipo 100 pra trocar em 1?

10279291
04 de agosto de 2012 às 17:33

na parte:

local troca = 2000 -------------- id do item que vai ser trocado
local id = 2160   --- id do item que vai ganhar dps da troca

Troca por isso:

local troca = 2000 -------------- id do item que vai ser trocado
local count = 100
local id = 2160   --- id do item que vai ganhar dps da troca

GodalonexDG
04 de agosto de 2012 às 20:07

Bem eu coloquei so que nao funfo. ele troco certinho mais trocou por apenas 1 item mesmo e nao pela quantidade que eu queria

notle2012N
04 de agosto de 2012 às 22:53

------------------- By Notle -------------------
local keywordHandler = KeywordHandler:new()													  
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local qua = 100 -- quantos item que vai precisa pra troca
local troca = 2000 -------------- id do item que vai ser trocado
local id = 2160   --- id do item que vai ganhar dps da troca
function onCreatureAppear(cid)				    npcHandler:onCreatureAppear(cid)			  end
function onCreatureDisappear(cid)				  npcHandler:onCreatureDisappear(cid)   end
function onCreatureSay(cid, type, msg)    npcHandler:onCreatureSay(cid, type, msg)	  end
function onThink()											    npcHandler:onThink()   end
function creatureSayCallback(cid, type, msg)
if msgcontains(msg, 'trocaitem') then
if doPlayerRemoveItem(cid,troca,qua) then
doPlayerAddItem(cid,id,1)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "coloca um texto aqui")   -- edita aqui
else
doPlayerSendCancel(cid,"Você Não Tem Grana Só Lamento.")  -- edita aqui
end
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

troca essa linha local qua = 100 -- quantos item que precisa pra troca por 1

Editado Agosto 5 por notle2012

NewtonnotwenN
04 de agosto de 2012 às 22:57

@notle2012

 

Pode passar o arquivo xml?

notle2012N
05 de agosto de 2012 às 06:03

@Newtonnotwen

sobe la em cima do topico eu mandei ja :D mais qual quer coisa aqui

<npc name="NOMEDONPC" script="data/npc/scripts/nomedoarquivo.lua" walkinterval="2000" floorchange="0">
   <health now="100" max="100"/>
   <look type="134" head="78" body="88" legs="0" feet="88" addons="3"/>
	    <parameters>
					    <parameter key="message_greet" value="Ola. Para mais informacoes de meus servicos diga {trocaitem}." />
					    <parameter key="message_farewell" value="Tchau." />
					    <parameter key="message_walkaway" value="Tchau." />
	    </parameters>
</npc>

GodalonexDG
05 de agosto de 2012 às 06:56

deu certo '-' REP+

 

Aproveitando... voce nao teria um npc que pega um certo item e da de recompensa uma mount.... teria?